// index.ts
// 获取应用实例
const app = getApp<IAppOption>();
import watch from "../../utils/watch";

const dayjs = require("dayjs");

Page({
  data: {
    motto: "Hello World",
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse("button.open-type.getUserInfo"),
    canIUseGetUserProfile: false,
    canIUseOpenData:
      wx.canIUse("open-data.type.userAvatarUrl") &&
      wx.canIUse("open-data.type.userNickName"), // 如需尝试获取用户信息可改为false
    testItemArray: [
      {
        name: "测试1",
        value: "1",
      },
      {
        name: "测试2",
        value: "2",
      },
      {
        name: "测试3",
        value: "3",
      },
    ],
    watchValue: 100,
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: "../test/test",
    });
    return;
    wx.navigateTo({
      url: "../logs/logs",
    });
  },
  onLoad() {
    watch.setWatcher(this);
    setTimeout(() => {
      this.setData({
        watchValue: 300,
      });
    }, 2000);
    // @ts-ignore
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true,
      });
    }
  },
  watch: {
    watchValue: function (newVal, oldVal) {
      console.log(newVal, oldVal, this, dayjs());
      this.setData({
        canIUseGetUserProfile: false,
      });
    },
  },
  getUserProfile() {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: "展示用户信息", // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res);
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true,
        });
      },
    });
  },
  getUserInfo(e: any) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    console.log(e);
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true,
    });
  },
  setSonValue(value: string) {
    console.log("children-value:", value);
  },
});
